"""
临时文件检查工具
用于验证临时文件清理是否正常工作
"""

import os
from pathlib import Path
from datetime import datetime

def check_temp_files():
    """检查临时文件目录状态"""
    project_root = Path(__file__).parent
    temp_base = project_root / "temp"
    
    print("=" * 60)
    print("临时文件检查工具")
    print("=" * 60)
    
    if not temp_base.exists():
        print(f"\n✓ 临时文件目录不存在: {temp_base}")
        print("  说明: 没有产生任何临时文件，或已被清理")
        return
    
    # 检查各个子目录
    temp_dirs = {
        'audio': temp_base / "audio",
        'cache': temp_base / "cache",
        'logs': temp_base / "logs"
    }
    
    total_files = 0
    total_size = 0
    
    for name, temp_dir in temp_dirs.items():
        print(f"\n📁 检查 {name} 目录: {temp_dir}")
        
        if not temp_dir.exists():
            print(f"  ✓ 目录不存在（无文件）")
            continue
        
        files = list(temp_dir.glob('*'))
        file_list = [f for f in files if f.is_file()]
        
        if not file_list:
            print(f"  ✓ 目录为空")
            continue
        
        print(f"  ⚠️  发现 {len(file_list)} 个文件:")
        
        for file_path in file_list:
            file_size = file_path.stat().st_size
            file_mtime = datetime.fromtimestamp(file_path.stat().st_mtime)
            age_hours = (datetime.now() - file_mtime).total_seconds() / 3600
            
            total_files += 1
            total_size += file_size
            
            print(f"    - {file_path.name}")
            print(f"      大小: {file_size / 1024:.2f} KB")
            print(f"      创建时间: {file_mtime.strftime('%Y-%m-%d %H:%M:%S')}")
            print(f"      存在时间: {age_hours:.1f} 小时")
    
    print("\n" + "=" * 60)
    print(f"总计: {total_files} 个文件, 总大小: {total_size / 1024:.2f} KB")
    print("=" * 60)
    
    if total_files == 0:
        print("\n✅ 非常好！没有发现任何临时文件残留")
        print("   临时文件清理机制工作正常")
    else:
        print(f"\n⚠️  发现 {total_files} 个临时文件")
        print("   提示: 这些可能是正在运行的程序产生的")
        print("   建议: 关闭程序后再次检查")

if __name__ == "__main__":
    check_temp_files()
